1. Field of the Invention
The present invention relates to a memory card in which a nonvolatile semiconductor memory is mounted, and in particular, to a memory card in which a nonvolatile semiconductor memory having a particular erase block size is mounted, a semiconductor device mounted in the memory card, and a method of controlling the memory card.
2. Description of the Related Art
Some of various memory cards comprise a NAND nonvolatile semiconductor memory and a controller. The controller includes a CPU that carries out a protocol conversion and the like, a read-only memory (ROM) that stores firmware used by the CPU, and a RAM used as a work area for the CPU.
For example, after firmware under development has completed and a manufacturing process has made certain progress in preparation for shipment, there may be a need for modifying the firmware (e.g., changing or adding functions of the firmware) to resolve possible problems or improve the firmware. In such a case, the ROM in the controller must be replaced with a new one. This increase the amount of time before the memory card can be shipped as well as costs. Further, after the memory card has been shipped, it is difficult to replace the ROM.
There are various techniques for modifying programs or the like stored in the memory. For example, Jpn. Pat. Appln. KOKAI Publication No. 2001-43206 (FIG. 1, paragraph 0038) discloses a memory card comprising a ROM that stores firmware for rewriting programs on a flash memory and an interrupt vector specifying the address of a control program for operations of a CSI (a communication device that for example, receives rewrite data from a host). This document also discloses that, in a rewrite mode, an interrupt request signal input by the CSI to an interrupt controller is given top priority in notification to the CPU in order to execute a rewrite.
According to this document, it is possible to modify a program on the flash memory. However, it is impossible to modify functions of a program stored in the ROM.
It is thus desired to be able to efficiently modify functions of the programs stored in the ROM.